With development of information technologies such as information processing and information communications, it becomes necessary to reutilize information created and edited in the past. For this reason, the information storage technology becomes important more and more. So far, information-recording apparatus using various kinds of media have been developed and become popular. The media used in the information-recording apparatus includes a magnetic tape and a magnetic disk.
An example of the magnetic disk is a disk embedded in an HDD (Hard Disk Drive) used as an auxiliary storage apparatus adopting a magnetic recording method. A drive unit accommodates several pieces of magnetic media, which each serve as a recording medium. A spindle motor rotates the pieces of recording media at high speed. Each piece of magnetic media is coated with a magnetic substance plated with a material such as nickel or phosphor. A magnetic head scans the face of the rotating media in the radial direction to write data onto the media by generating magnetization corresponding to the data on the face of the media, or to read out data from the media.
The hard disk has already become generally and widely popular. For example, the hard disk is employed in a personal computer as a standard external storage device in which various kinds of software are installed and created as well as edited files are stored. The software installed in the hard disk includes an operating system (OS) for starting up the computer and application programs. Usually, the hard disk drive employing the hard disk is connected to the main unit of the personal computer through a standard interface such as an IDE (Integrated Drive Electronics) interface or an SCSI (Small Computer System Interface). A file system manages storage areas of the hard disk. The file system is a sub-system of the operating system. The file system includes a FAT (File Allocation Table).
Recently, efforts to increase the storage capacity of the hard disk are in progress. Accompanying the progress of the efforts to increase the storage capacity of the hard disk, the application field of the hard disk is widened to include apparatus such as a hard-disk recorder for storing AV (audio and visual) contents received from a broadcasting station, and the use of the hard disk as a storage unit for storing contents as well as the conventional use thereof as an auxiliary storage apparatus of a computer is started.
By taking a case of using the hard disk as an auxiliary storage apparatus of a computer as an example, the following description considers a method of physically formatting the hard disk and an operation to write data onto the hard disk.
As partitions for recording data onto the hard disk, a number of concentric tracks are formed on the hard disk. Increasing sequence numbers 0, 1 and so on are assigned to the tracks starting with the track on the outermost circumference as track numbers in a direction toward the track on the innermost circumference. The larger the number of tracks created on the surface of the hard disk, the larger the storage capacity of the hard disk serving as recording media.
In addition, each of the tracks is divided into sectors each used as a recording unit. Normal operations to read out and write data from and onto the hard disk are carried out in sector units. The size of the sector varies from media to media. However, the size of the sector of a hard disk is generally set at a fixed value of 512 bytes. In addition, in order to make the recording density uniform for all the tracks by taking the efficiency of the utilization of the media into consideration, each of the tracks is divided into such a number of sectors that, the farther the location of a track from the center of the hard disk, the larger the number of sectors included in the track. This is because, the larger the radius of a circumference on which a track is created on the hard disk, the longer the circumference and, hence, the longer the track. The technique to provide each of the tracks with sectors in this way is referred to as a ‘Zone Bit Recording’ method.
In addition, in the case of an HDD with a configuration in which several pieces of media overlap with each other with their centers aligned along a straight line, tracks each created on one of the pieces of media as tracks having the same track number can be considered as tracks forming the wall of a cylinder. As a matter of fact, such tracks are referred to as a cylinder. The same track number assigned to tracks forming a cylinder is used as a cylinder number assigned to the cylinder. Much like the track numbers, cylinder numbers are increasing sequence numbers 0, 1 and so on, which are assigned to cylinders starting with the cylinder on the outermost circumference of the HDD in a direction toward a cylinder on the innermost circumference. A plurality of heads each inserted into a gap between 2 adjacent pieces of media always moves from one cylinder to another as a single assembly.
A CHS mode can be given as a kind of addressing, which is a method of specifying a target sector. The CHS mode is a method of making an access to desired data by specifying the PBA (Physical Block Address) of a location on a disk-like piece of recording media as the PBA of the location of the target sector in a format including parameters arranged in a C (Cylinder), H (Head) and S (sector) sequence.
With the CHS method, on the other hand, there is a limit on CHS parameters that can be specified in the main unit of a computer serving as the host of the HDD, and the limit does not allow the addressing to keep up with the rising storage capacity of the hard disk. In order to solve this problem, an LBA (Logical Block Address) mode is adopted. An LBA is expressed as logical sequence numbers including a cylinder number, a head number and a sector number, which each start from 0.
In the conventional HDD, in order to read out data from recording media by making an access to the media, first of all, the magnetic head is moved over the recording media in a seek operation to a track having a target sector containing the data. Then, the magnetic head waits for the desired sector on the rotating recording media to arrive at a position right under the magnetic head. This state of waiting for the desired sector on the rotating recording media to arrive at a position right under the magnetic head is referred to as a rotation wait.
In general, the storage capacity of the disk can be increased as the track density raises and the track density can be raised as the width of the track decreases. Thus, in order to write and read out data into and from a track with a high degree of accuracy, high precision of the positioning of the magnetic head is required. In order to meet this requirement, there is adopted a servo technique for always adjusting the position of the magnetic head to the center of a track containing the target sector. The servo technique is based on signals recorded on each track at fixed intervals. These signals are referred to as a servo pattern. By reading out this servo pattern from a track through use of the magnetic head, it is possible to check whether or not the magnetic head is positioned at the center of the track. The servo pattern is embedded on each track with a high degree of precision in advance when the HDD is made in a manufacturing process. A servo area is used for recording the signals for positioning the magnetic head and information such as a cylinder number, a head number and a servo number.
A number of conventional HDDs adopt an interface such as the IDE or SCSI interface intended for connecting an HDD to a computer. In a basic operation, the main unit of a computer controls a disk drive by using a set of commands defined by the interface. In general, a command specifies an LBA indicating a head sector of sectors to be accessed and the number of cited sectors.
Receiving such a command, the HDD makes an access to the specified head sector and, then, makes an access to each of the subsequent sectors while creating a pre-fetch sequence by predicting which sectors are to be accessed.
In the creation of a pre-fetch sequence, it is assumed that a data series is stored in sectors having continuous addresses. Usually, sectors having continuous addresses exist at locations to be accessed by magnetic heads having continuous head numbers or exist on a track having a track number.
If data of a large amount has been stored in recording media, a pre-fetch operation is an effective operation to read out the data from the recording media.
However, the recording area gets fragmented more and more so that a large data file must be stored in a plurality of small areas physically separated from each other in a state wherein the data is dispersed in the areas. In such a case, carrying out a pre-fetch operation will read but inadvertently data other than desired one. That is to say, a pre-fetch operation will not work effectively. Such a phenomenon can occur due to the fact that the HDD does not grasp the structure of a file being dealt with by the host such as a computer main unit making a request for an operation to read out data from the recording medium.
In addition, a target sector of a new access request made by the host may be off from a predicted sequence of sectors. In this case, the disk drive must carry out a seek operation to find a track including the target sector containing the data specified in the request. As the tracking operation, that is, the seek operation to find the track including the target sector, is completed, the head enters a state of waiting for the sector to become accessible. In this way, it takes time to complete the tracking operation and to wait for the sector to become accessible.
It is possible to keep as much data as allowed by the storage capacity of a data buffer. If the event in which the target sector of a new access is off from a predicted sequence of sectors happens consecutively or sporadically, pieces of data that have already been stored in the data buffer but are not to be used must be discarded sequentially starting with the one stored in the buffer least recently. In addition, a seek operation cannot be activated while a pre-fetching operation is being carried out.
As is obvious from the above descriptions, a seek time, a rotation wait time and a seek-operation delay time caused by a wasteful pre-fetch operation can each be a time loss whereas data read out from the disk in a wasteful pre-fetch operation can be a data loss.
In an ordinary disk drive, the rotating speed of the disk is raised in order to shorten the seek and rotation-wait times. This is because it is difficult to make an improvement by adopting a new access method due to the fact that there is no rule in the amount and structure of data handled by the host such as a computer.
In addition, most of the conventional external storage systems such as an HDD correct errors for each sector unit normally consisting of 512 bytes. Thus, a random error occurring in each sector can be corrected. However, it is not possible to correct an error beyond a correctable domain or burst errors. In order to solve this problem, a retry operation is carried out in an attempt to confine the number of read errors within a predetermined limit.
However, a retry operation is carried out to again read out data from a recording medium after a required state of waiting for a disk rotation. Thus, the operation to again read out data from a recording medium further increases the delay time.
For example, a system handling AV contents may be put in a situation wherein a high transfer speed is requested for carrying out an HD (high definition) reproduction process or a special reproduction process. In such a case, there may be no time margin for carrying out a retry operation even if an irrecoverable read error is detected in a sector. At such a time, with the contemporary technology, the reproduction process is continued with the error remaining uncorrected as it is. As a result, the quality of the reproduced data deteriorates.